2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

Schema Registry

작성: sangseek | 게시 날짜: 2026/03/08 | 조회수: 42
[ 편집불가 ]

Schema Registry는 데이터 스트림이나 메시지 시스템에서 사용하는 데이터 스키마(데이터 구조)를 중앙에서 관리하고 배포하는 서비스입니다. 주요 목적은 생산자(Producer)와 소비자(Consumer) 간에 스키마를 일관되게 유지하고, 스키마 진화(버전관리)와 호환성(compatibility)을 자동으로 검사·보장하여 데이터 파이프라인의 안정성과 상호운용성을 확보하는 것입니다. 주요 기능과 개념 - 스키마 저장: Avro, JSON Schema, Protobuf 등 다양한 형식의 스키마를 중앙 저장소에 등록(register)하고 ID로 관리합니다. - 버전 관리: 스키마 변경 시 버전을 생성하여 이전 버전들과 비교·관리합니다. - 호환성 검사: 등록된 새 스키마가 기존 소비자/생산자와의 호환성 규칙(예: BACKWARD, FORWARD, FULL, NONE)에 맞는지 자동으로 검사합니다. - BACKWARD: 새 스키마가 이전 메시지를 읽을 수 있게 보장(보통 소비자 호환성). - FORWARD: 이전 스키마로 생성된 메시지를 새 소비자가 읽을 수 있게 보장(일부 시나리오에서 필요). - FULL: BACKWARD와 FORWARD 모두 만족. - 디스커버리/API: REST API나 클라이언트 라이브러리를 통해 스키마를 조회하거나 ID로 가져올 수 있습니다. - 직렬화/역직렬화 통합: 메시지에 스키마 ID를 포함(또는 헤더에 부착)해 소비자가 적절한 스키마로 데이터를 역직렬화하게 함으로써 페이로드 크기를 줄이고 처리 일관성을 제공. 운영 이점 - 데이터 계약 관리: 스키마가 명시적 계약 역할을 하여 서비스 간 계약 파손을 줄입니다. - 안전한 스키마 진화: 호환성 규칙으로 무분별한 변경을 막아 다운스트림 오류를 예방합니다. - 데이터 소비자 독립성: 소비자는 생산자를 직접 수정할 필요 없이 스키마를 조회해 적절히 처리할 수 있습니다. - 중앙화된 거버넌스: 감사, 액세스 제어, 스키마 검색 및 문서화가 쉬워집니다. 동작 예시 (간단한 흐름) 1. 생산자가 새로운 메시지 형식을 도입하면 스키마를 Schema Registry에 등록하고 고유 ID를 받습니다. 2. 생산자는 메시지를 보낼 때 스키마 ID(또는 헤더)를 함께 포함합니다. 3. 소비자는 메시지의 스키마 ID를 보고 Registry에서 해당 스키마를 조회하여 역직렬화합니다. 실무 고려사항 - 주제(subject) 네이밍 전략: 토픽별 또는 레코드명 기반 등 스키마를 그룹화하는 방법이 중요합니다. - 권한·보안: 스키마 등록/조회 권한, TLS 및 인증 설정 필요. - 성능: 빈번한 스키마 조회를 줄이기 위해 클라이언트 캐싱을 사용합니다. - 삭제·정리 정책: 스키마 삭제와 호환성 보존 정책을 설계해야 합니다. - 도구 선택: Confluent Schema Registry, Apicurio, AWS Glue Schema Registry 등 여러 구현체가 있으며 환경에 따라 선택합니다. 요약 Schema Registry는 스키마를 중앙에서 관리해 데이터 형식의 일관성, 안전한 진화, 자동 호환성 검사를 제공함으로써 분산 데이터 시스템에서 신뢰성과 확장성을 높이는 핵심 인프라입니다.
내용이 부정확하다면 싫어요를 누르세요.